<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>PHP 能做什么？</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="intro-whatis.html">« PHP 是什么？</a></li>
      <li style="float: right;"><a href="tutorial.html">简明教程 »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="introduction.html">简介</a></li>
    <li>PHP 能做什么？</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="intro-whatcando" class="section">
   <div class="info"><h1 class="title">PHP 能做什么？</h1></div>
   <p class="para">
    PHP 能做任何事。PHP 主要是用于服务端的脚本程序，因此可以用
    PHP 来完成任何其它的 CGI
    程序能够完成的工作，例如收集表单数据，生成动态网页，或者发送／接收
    Cookies。但 PHP 的功能远不局限于此。
   </p>
   <p class="para">
    PHP 脚本主要用于以下三个领域：
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
       服务端脚本。这是 PHP
       最传统，也是最主要的目标领域。开展这项工作需要具备以下三点：PHP
       解析器（CGI 或者服务器模块）、web
       服务器和 web 浏览器。需要在运行 web 服务器时，安装并配置
       PHP，然后，可以用 web 浏览器来访问 PHP 程序的输出，即浏览服务端的
       PHP 页面。如果只是实验 PHP 编程，所有的这些都可以运行在自己家里的电脑中。请查阅<a href="install.html" class="link">安装</a>一章以获取更多信息。
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       命令行脚本。可以编写一段 PHP
       脚本，并且不需要任何服务器或者浏览器来运行它。通过这种方式，仅仅只需要
       PHP 解析器来执行。这种用法对于依赖
       cron（Unix 或者 Linux 环境）或者 Task Scheduler（Windows
       环境）的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参阅 <a href="features.commandline.html" class="link">PHP 的命令行模式</a>以获取更多信息。
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       编写桌面应用程序。对于有着图形界面的桌面应用程序来说，PHP
       或许不是一种最好的语言，但是如果用户非常精通
       PHP，并且希望在客户端应用程序中使用 PHP
       的一些高级特性，可以利用 PHP-GTK
       来编写这些程序。用这种方法，还可以编写跨平台的应用程序。PHP-GTK
       是 PHP 的一个扩展，在通常发布的 PHP 包中并不包含它。如果对 PHP-GTK
       感兴趣，请访问其<a href="http://gtk.php.net/" class="link external">&raquo;&nbsp;网站</a>以获取更多信息。
      </span>
     </li>
    </ul>
   </p>
   <p class="para">
    PHP 能够在所有的主流操作系统上<a href="install.html" class="link">使用</a>，包括 Linux、Unix
    的各种变种（包括 HP-UX、Solaris 和 OpenBSD）、Microsoft
    Windows、macOS、RISC OS 等。今天，PHP已经支持了大多数的 web
    服务器，包括 Apache、Microsoft Internet Information
    Server（IIS）、Personal Web Server（PWS）、Netscape 以及
    iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd
    等。对于大多数的服务器，PHP 提供了一个模块；还有一些
    PHP 支持 CGI 标准，使得 PHP 能够作为 CGI 处理器来工作。
   </p>
   <p class="para">
    综上所述，使用 PHP，可以自由地选择操作系统和 web
    服务器。同时，还可以在开发时选择使用面对过程和面对对象，或者两者混和的方式来开发。尽管
    PHP 4 不支持 OOP 所有的标准，但很多代码仓库和大型的应用程序（包括
    PEAR 库）仅使用 OOP 代码来开发。PHP 5 弥补了 PHP 4 的这一弱点，引入了完全的对象模型。
   </p>
   <p class="para">
    使用 PHP，并不局限于输出 HTML。PHP
    还能被用来动态输出图像、PDF 文件甚至 Flash 动画（使用 libswf 和
    Ming）。还能够非常简便的输出文本，例如 XHTML
    以及任何其它形式的 XML 文件。PHP
    能够自动生成这些文件，在服务端开辟出一块动态内容的缓存，可以直接把它们打印出来，或者将它们存储到文件系统中。
   </p>
   <p class="para">
    PHP 最强大最显著的特性之一，是它支持<a href="refs.database.html" class="link">很大范围的数据库</a>。使用任何针对某数据库的扩展（例如 <a href="book.mysqli.html" class="link">mysql</a>）编写数据库支持的网页非常简单，或者使用抽象层如 <a href="book.pdo.html" class="link">PDO</a>，或者通过 <a href="book.uodbc.html" class="link">ODBC</a>
    扩展连接到任何支持 ODBC 标准的数据库。其它一些数据库也可能会用 <a href="book.curl.html" class="link">cURL</a>
    或者 <a href="book.sockets.html" class="link">sockets</a>，例如 CouchDB。
   </p>
   <p class="para">
    PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM（Windows
    环境）等不计其数的协议的服务。还可以开放原始网络端口，使得任何其它的协议能够协同工作。PHP
    支持和所有 web 开发语言之间的 WDDX
    复杂数据交换。关于相互连接，PHP 已经支持了对 Java
    对象的即时连接，并且可以透明地将其用作 PHP 对象。
   </p>
   <p class="para">
    PHP 具有极其有效的<a href="refs.basic.text.html" class="link">文本处理</a>特性，包括 Perl
    兼容正则表达式（<a href="book.pcre.html" class="link">PCRE</a>）以及许多扩展和工具可用于<a href="refs.xml.html" class="link">解析和访问 XML 文档</a>。PHP 将所有的 XML
    功能标准化于坚实的 <a href="book.libxml.html" class="link">libxml2</a> 扩展，并且还增加了
    <a href="book.simplexml.html" class="link">SimpleXML</a>，<a href="book.xmlreader.html" class="link">XMLReader</a>
    以及 <a href="book.xmlwriter.html" class="link">XMLWriter</a> 支持以扩充其功能。
   </p>
   <p class="para">
    另外，还有很多其它有趣的扩展库，在此根据<a href="extensions.html" class="link">字母</a>和<a href="funcref.html" class="link">分类</a>归类列出。还有一些附加的
    <a href="install.pecl.intro.html" class="link">PECL 扩展</a> 可能有也可能没有在 PHP
    手册中列出，例如 <a href="http://xdebug.org/" class="link external">&raquo;&nbsp;XDebug</a>。
   </p>
   <p class="para">
    由于在这里无法列出 PHP
    所有的特性和可提供的便利，请参阅<a href="install.html" class="link">安装</a>以及<a href="funcref.html" class="link">函数参考</a>有关章节以获取关于这里提到的扩展库更多的信息。
   </p>
  </div></div></div></body></html>